package lichunfu;

import java.io.*;

public class Demo {
    //序列化
    public static void main(String[] args) {
        lichunfu user = new lichunfu("小李", 18, "男");
        //序列化操作--保存到文件里
        try {
            //创建一个文件，将后续序列化的文件保存到里面
            FileOutputStream file = new FileOutputStream("D:\\23\\lichunfu.txt");
            //创建序列化工具，将对象user保存到文件里
            ObjectOutputStream oos=new ObjectOutputStream(file);
            //开始序列化操作
            oos.writeObject(user);
            oos.close();
            file.close();
        }
        catch (FileNotFoundException e) {
            System.out.println("找不到文件");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        catch(Exception e ){
            e.printStackTrace();  //打印栈的踪迹
        }
    }

    // 反序列化
//    public static void main(String[] args) {
//      lichunfu user = new lichunfu("小蓝", 18, "男");
//        try {
//            //打开序列化文件
//            FileInputStream file=new FileInputStream("D:\\23\\lichunfu.txt");
//            //反序列化
//            ObjectInputStream ois=new ObjectInputStream(file);
//            //读取反序列化文件
//            lichunfu user= (lichunfu)ois.readObject();//强制转化
//            System.out.println(user);

//        } catch (FileNotFoundException e) {
//            throw new RuntimeException(e);
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        } catch (ClassNotFoundException e) {
//            throw new RuntimeException(e);
//        }
//        } catch (ClassNotFoundException | IOException e) {
//            throw new RuntimeException(e);
//        }
//    }

}

